<!--
  Copyright JS Foundation and other contributors, http://js.foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<script type="text/html" data-help-name="catch">
    <p>同じタブ内のノードが送出したエラーをキャッチします。</p>
    <h3>出力</h3>
    <dl class="message-properties">
        <dt>error.message <span class="property-type">文字列</span></dt>
        <dd>エラーメッセージ</dd>
        <dt>error.source.id <span class="property-type">文字列</span></dt>
        <dd>エラーを送出したノードのID</dd>
        <dt>error.source.type <span class="property-type">文字列</span></dt>
        <dd>エラーを送出したノードの種別</dd>
        <dt>error.source.name <span class="property-type">文字列</span></dt>
        <dd>エラーを送出したノードの名称(設定されている場合)</dd>
    </dl>
    <h3>詳細</h3>
    <p>メッセージの処理中にノードがエラーを送出した場合、フロー実行は基本的に停止します。このノードを使うと、エラーをキャッチして対応するフローで処理させることができます。</p>
    <p>デフォルトでは、同じタブの全てのノードが送出したエラーをキャッチします。特定のノードをキャッチ対象とするか、対象catchノードで補足されていないエラーのみ補足するように指定することも可能です。</p>
    <p>エラー発生時には、マッチするすべてのcatchノードがメッセージを受け取ります。</p>
    <p>サブフロー内でエラーが送出された場合、まずサブフロー内のcatchノードで処理されます。対応するノードが存在しない場合には、そのサブフローが配置されたタブにエラーを伝播して処理します。</p>
    <p>メッセージが<code>error</code>プロパティを持っている場合、元の<code>error</code>は<code>_error</code>へコピーします。</p>
</script>
